// pages/index/FM/ILLife/ILlife.js
const app = getApp();

Component({
  /**
   * 组件的属性列表
   */
  properties: {},

  /**
   * 组件的初始数据
   */
  data: {
    navBars: ['人际沟通', '家庭关系', '亲子互动', '两性关系', '情绪压力', '职场倦怠'], // 导航栏内容
    contentBarIndex: 0, // 当前选中的索引，初始化为0表示没有选中
    Cnav: ['综合排序', '人气', '好评率', '价格', '价格区间'],
    navBarIndex: 0,
    sort: true, // 用来记录 价格 是否被选中
    courseList: [], // 页面初始数据
    page: 1, // 当前页数
    pageSize: 5, // 每页数据数量
    hasMore: true // 标记是否还有更多数据
  },

  /**
   * 组件的方法列表
   */
  methods: {
    // 生命周期
    onLoad() {
      this.loadData();
    },

    // 加载页面数据
    loadData() {
      const that = this;
      const currentPage = this.data.page;
      const currentPageSize = this.data.pageSize;
      const currentIndex = this.data.contentBarIndex;
      const currentStatus = this.data.sort;

      console.log(currentPage);
      console.log(currentPageSize);
      console.log(currentIndex);
      console.log(currentStatus);

      // 构造请求参数
      const params = {
        page: currentPage,
        pageSize: currentPageSize,
        index: currentIndex,
        status: currentStatus
      };

      wx.request({
        url: app.globalData.baseUrl + '/fm/IntelligentLifeController/communication',
        method: 'GET',
        data: params,
        success(res) {
          if (res.data.code === 200) {
            const newData = res.data.data;
            console.log("我是更新后的数据" + newData);
            if (newData.length === 0) {
              that.setData({
                hasMore: false
              });
            } else {
              // 如果是第一页，清空原有数据并添加新数据
              if (currentPage === 1) {
                that.setData({
                  courseList: newData,
                  page: currentPage
                });
              } else {
                that.setData({
                  courseList: [...that.data.courseList, ...newData],
                  page: currentPage
                });
              }
            }
          } else {
            console.error('请求成功但状态码不为 200');
          }
        },
        fail(error) {
          console.error('请求失败:', error);
        }
      });
    },

    // 使被选中的筛选导航栏变色
    selectContentBar(e) {
      const index = e.currentTarget.dataset.index; // 获取被点击的 contentBar 的索引
      this.setData({
        contentBarIndex: index // 更新 Cnav 的选中索引
      });

      console.log("当前索引为" + this.data.contentBarIndex);
      this.sortByClick(index);
      this.loadData(1); // 重置页码为第一页，重新加载数据
    },

    // 更改价格和价格区间的排序顺序
    sortByClick(index) {
      this.setData({
        sort: !this.data.sort
      });
      console.log(index);
      console.log(this.data.sort);

      if (index === 3) {
        this.setData({
          'Cnav[3]': this.data.sort ? '价格 (降序)' : '价格 (升序)'
        });
      }

      console.log(this.data.Cnav);
      this.loadData(); // 重置页码为第一页，重新加载数据
    },

    // 当页面触底时，触发效果
    onReachBottom() {
      console.log("我触底了！");
      const currentPage = this.data.page + 1;
      if (currentPage >= 3) {
        wx.showToast({
          title: '没有更多数据了',
          icon: 'none'
        });
      } else {
        this.setData({
          page: currentPage
        });
        this.loadData();
      }
    }
  }
});
